package com.hb.trade.client.project;

import com.hb.core.pojo.parent.PageResult;
import com.hb.core.pojo.project.complaint.dto.ComplaintDTO;
import com.hb.core.pojo.project.complaint.dto.ComplaintReplyDTO;
import org.fzzn.core.model.msg.Message;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;

/**
 * 异议投诉/回复Feign
 */
@FeignClient("hb-project")
public interface ComplaintClient {
    /**
     * 保存异议接口
     *
     * @param complaintDTO
     * @return
     */
    @PostMapping("/complaint/save")
    Message saveComplaint(@RequestBody ComplaintDTO complaintDTO);

    /**
     * 提交异议
     *
     * @param complaintDTO
     * @return
     */
    @PostMapping("/complaint/commitComplaint")
    Message commitComplaint(@RequestBody ComplaintDTO complaintDTO);

    /**
     * 结束异议
     *
     * @param complaintDTO
     * @return
     */
    @PostMapping("/complaint/finishComplaint")
    Message finishComplaint(@RequestBody ComplaintDTO complaintDTO);

    /**
     * 招标人查询投诉异议接口
     *
     * @param complaintDTO
     * @return
     */
    @PostMapping("/complaint/pageComplaint")
    Message<PageResult<ComplaintDTO>> pageComplaint(@RequestBody ComplaintDTO complaintDTO);

    /**
     * 投标人查询投诉异议接口
     *
     * @param complaintDTO
     * @return
     */
    @PostMapping("/complaint/pageTenderComplaint")
    Message<PageResult<ComplaintDTO>> pageTenderComplaint(@RequestBody ComplaintDTO complaintDTO);

    /**
     * 保存招标人回复质疑信息
     *
     * @param complaintReplyDTO
     * @return
     */
    @PostMapping("/complaintReply/save")
    Message saveComplaintReply(@RequestBody ComplaintReplyDTO complaintReplyDTO);

    /**
     * 查询异议详情
     *
     * @param complaintDTO
     * @return
     */
    @PostMapping("/complaint/complaintDetail")
    Message<ComplaintDTO> complaintDetail(@RequestBody ComplaintDTO complaintDTO);
}
